-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
build(deps): bump giithub.com/GaijinEntertainment/go-exhaustruct from v3.3.1 to 4.0.0 #5984
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This PR is based on golangci-lint v1 (the branch The PR must target the branch The way to manage major (breaking) versions of linters has changed: |
For golangci-lint users configuration itself still the same, just extra fields added and functionally without enabling new fields linter still acts the same. Updated description regarding that. |
ok, if there are no breaking changes, you don't need to use the new approach. |
dang it! i see the issue now, the branch is wrong.. |
74919d7
to
016b734
Compare
- analyzer package is now distributed via vanity import as `dev.gaijin.team/go/exhaustruct/v4`. - version introduced new features which, in turn, required usage of structure as configuration causing major version bump.
ready for review |
You must downgrade your min go version inside your linter. |
Welp, it is transitory. |
Your linter doesn't need go1.24: the module |
The min Go version is about the language (the syntax), a library should not enforce the latest stable version of Go unless it uses language-specific syntax related to this version. In all cases, a library should not do that. |
- '.*/http\.Cookie' | ||
# Allows empty structures in return statements. | ||
# Default: false | ||
allow-empty-returns: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
allow-empty-returns: false | |
allow-empty-returns: true |
allow-empty-returns: false | ||
# Allows empty structures in variable declarations. | ||
# Default: false | ||
allow-empty-declarations: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
allow-empty-declarations: false | |
allow-empty-declarations: true |
# List of regular expressions to match type names that should be | ||
# processed. Anonymous structs can be matched by '<anonymous>' alias. | ||
# | ||
# Each regular expression must match the full type name, including package path. | ||
# For example, to match type `net/http.Cookie` regular expression should be | ||
# `.*/http\.Cookie`, but not `http\.Cookie`. | ||
# |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# List of regular expressions to match type names that should be | |
# processed. Anonymous structs can be matched by '<anonymous>' alias. | |
# | |
# Each regular expression must match the full type name, including package path. | |
# For example, to match type `net/http.Cookie` regular expression should be | |
# `.*/http\.Cookie`, but not `http\.Cookie`. | |
# | |
# List of regular expressions to match type names that should be processed. | |
# Anonymous structs can be matched by '<anonymous>' alias. | |
# | |
# Each regular expression must match the full type name, including package path. | |
# For example, to match type `net/http.Cookie` regular expression should be `.*/http\.Cookie`, | |
# but not `http\.Cookie`. |
# List of regular expressions to match type names that should be | ||
# excluded from processing. Anonymous structs can be matched by '<anonymous>' | ||
# alias. | ||
# Has precedence over IncludeRx. | ||
# Each regular expression must match the full type name, including package path. | ||
# For example, to match type `net/http.Cookie` regular expression should be | ||
# `.*/http\.Cookie`, but not `http\.Cookie`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# List of regular expressions to match type names that should be | |
# excluded from processing. Anonymous structs can be matched by '<anonymous>' | |
# alias. | |
# Has precedence over IncludeRx. | |
# Each regular expression must match the full type name, including package path. | |
# For example, to match type `net/http.Cookie` regular expression should be | |
# `.*/http\.Cookie`, but not `http\.Cookie`. | |
# List of regular expressions to match type names that should be | |
# excluded from processing. | |
# Anonymous structs can be matched by '<anonymous>' alias. | |
# Has precedence over `include`. | |
# Each regular expression must match the full type name, including package path. | |
# For example, to match type `net/http.Cookie` regular expression should be `.*/http\.Cookie`, | |
# but not `http\.Cookie`. |
# List of regular expressions to match type names that should be | ||
# allowed to be empty. Anonymous structs can be matched by '<anonymous>' | ||
# alias. | ||
# Each regular expression must match the full type name, including package path. | ||
# For example, to match type `net/http.Cookie` regular expression should be | ||
# `.*/http\.Cookie`, but not `http\.Cookie`. | ||
# Default: [] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# List of regular expressions to match type names that should be | |
# allowed to be empty. Anonymous structs can be matched by '<anonymous>' | |
# alias. | |
# Each regular expression must match the full type name, including package path. | |
# For example, to match type `net/http.Cookie` regular expression should be | |
# `.*/http\.Cookie`, but not `http\.Cookie`. | |
# Default: [] | |
# List of regular expressions to match type names that should be allowed to be empty. | |
# Anonymous structs can be matched by '<anonymous>' alias. | |
# Each regular expression must match the full type name, including package path. | |
# For example, to match type `net/http.Cookie` regular expression should be `.*/http\.Cookie`, | |
# but not `http\.Cookie`. | |
# Default: [] |
go 1.24 | ||
|
||
toolchain go1.24.6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
go 1.24 | |
toolchain go1.24.6 | |
go 1.23.0 |
Linter itself will become dependant on 1.24 next minor release, because of usage of iterators on go types.
|
OK so I will not do more review or merge your PR until go1.25 |
No problems, I've expected that =) |
dev.gaijin.team/go/exhaustruct/v4
.GaijinEntertainment/go-exhaustruct@v3.3.1...v4.0.0
For
golangci-lint
users nothing changes, except 4 new fields added, so no deprecations or migration on the users side is required.Major bump of exhaustruct caused mostly because of package rename and the way config being passed to the linter.
note:
go mod tidy
touched more packages than i've expected